Method, system and device for enabling the public to access organizations&#39; directories

ABSTRACT

A real-time directory access system provides the public with information of interest of an organization, and enabling mobile personal communication devices to access the organization&#39;s information of interest and to interactively communicate with the organization. This system includes an organization&#39;s central data server, a plurality of branch data servers for storing branch information of interest and for interactively communicating with mobile devices, a plurality of in-branch access points for distributing information of interest. The system also includes a plurality of mobile personal communication devices for receiving and displaying information of interest from access points and interactively communicating with branch data servers.

CROSS-REFERENCE TO RELATED APPLICATIONS

This is the first application filed for the present invention.

TECHNICAL FIELD

This invention relates, in general, to enabling the public to accessorganizations' elements of interest (product and service information).In particular, a method, system and device are provided for allowing anorganization to publicize information regarding elements of interest andfor facilitating public access to the publicized information in a simpleand efficient manner.

BACKGROUND ART

An organization would like to publicize in a simple and efficient mannerthe information regarding elements of interest (promotions, discounts,new arrivals, product locations, real-time stock, reservation,appointment, and schedule delay). The public, in turn, would like toaccess this information. The organization could be an establishedbusiness entity, a government agency, or an institution. In the casewhere the organization is an established business entity, for example aretail corporation, the information of interest includes promotions, newproduct arrivals, product locations and real-time in-stock information.In the case where the organization is a government agency, theinformation of interest includes building directory and serviceavailability. In the case where the organization is an institute, forexample a health center, the information of interest includes buildingdirectory, appointment schedule and service delay (waiting time for adoctor making his/her appointment).

There are no existing technologies that answer these needs, althoughseveral methods and systems are disclosed for some simple cases.

U.S. Pat. No. 5,630,068 (Vela et al.) entitled “Shoppers CommunicationSystem and Processes Relating Thereto” discloses a communication systemand processes for communicating with shoppers using devices installed onshopping carts.

U.S. Pat. No. 6,954,735 (Djupsjobacka et al.) entitled “Method andsystem of shopping with a mobile device to purchase goods and/orservices” discloses a method for facilitating shopping with a mobiledevice for a user with a list of to-buy products.

U.S. Pat. No. 7,069,238 (I'Anson et al.) entitled “Shopping assistanceservice” discloses a shopping assistance method and a location-basedservice system.

U.S. Pat. No. 7,195,157 (Swartz et al.) entitled “Consumer interactiveshopping system” discloses a consumer interactive shopping and marketingsystem using a portable data terminal.

U.S. Pat. No. 7,231,380 (Pienkos) entitled “Apparatus and method forproviding products location information to customers in a store”discloses a method for providing products location information tocustomers using in-store data terminals.

U.S. Patent Application Publication 20010028301 (Geiger et al.) entitled“Electronic shopping cart display system” discloses an advertising andpromotion system.

U.S. Patent Application Publication 20070150331 (Perri et al.) entitled“Method and apparatus for marketing retail goods” discloses a system forcollecting marketing data.

None of the aforementioned patents and applications provide a solutionto the needs of publicizing an organization's information of interestand facilitating easy public access to this information. Accordingly,there exists a need for a technology that would enable the public toaccess information of interest of organizations in a simple andefficient manner.

SUMMARY OF THE INVENTION

In general, this invention relates to an interactive real-timeinformation access technique for enabling an organization to publicizeits product and service information and facilitating public access tothe publicized information. In particular, a system, method and deviceare provided for accessing static and dynamic product and serviceinformation of an organization in a simple and efficient manner.

Accordingly, one aspect of the present invention entails a system forproviding members of the public with directory information of anorganization, for enabling a mobile personal communication device toaccess dynamic directory data of the organization and to interactivelycommunicate with the organization. The system comprises a central dataserver for storing directory information of the organization, aplurality of branch data servers connected to the central data serverfor storing branch directory data, and for interactively communicatingwith a mobile personal communication device, a plurality of accesspoints for receiving branch directory data from the branch data server,and for distributing the directory data, a plurality of mobile personalcommunication devices for receiving the directory information of a localbranch from an access point, displaying the directory information, andinteractively communicating with the branch data server.

Another aspect of the present invention entails a method of distributingdirectory information of an organization. The method comprises steps ofstoring directory information of the organization in branch data serverslocated in local branches of the organization, the branch data serversbeing connected to a central data server of the organization, andproviding, in each local branch, at least one access point for receivingbranch directory data from the corresponding branch data server and fordistributing the directory data of the local branch to a mobile personalcommunication device configured to display, on a display of the mobilepersonal communication device, the directory information of the localbranch.

Still another aspect of the present invention entails a method ofenabling a mobile personal communication device to access directoryinformation of an organization. The method comprises steps ofdownloading directory data from an access point in a local branch of theorganization, the access point receiving branch directory data from abranch data server communicatively connected to a central data server ofthe organization and displaying directory information on a display ofthe mobile personal communication device based on the directory datadownloaded from the access point.

Yet a further aspect of the present invention entails a mobile personalcommunication device comprising a software component for accessingdirectory information of an organization. The device comprises aprocessor coupled to memory for supporting software applications, acommunication means for receiving directory data from an access pointdisposed in a branch of the organization, and a directory accesssoftware application that receives the directory data and displaysdirectory information based on the directory data received from theaccess point.

Yet a further aspect of this invention entails a computer programproduct comprising code which, when loaded into memory and executed on aprocessor of a mobile personal communication device, is adapted toperform the steps of obtaining directory data from an access point thatis communicatively connected to a branch data server located in a branchof an organization, and displaying, on a display of the device,directory information based on at least some of the directory datareceived from the access point.

This novel technology facilitates accessing an organization's staticproduct/service location information via a very simple user interface,and accessing an organization's dynamic product in-stock/serviceinformation and making real-time reservation via automated, interactivevoice and/or text messages.

BRIEF DESCRIPTION OF THE DRAWINGS

Further features and advantages of the present invention will becomeapparent from the following detailed description, taken in combinationwith the appended drawings, in which:

FIG. 1 schematically depicts an embodiment of the invention andgenerally shows the relation of components of the system.

FIG. 2 is a block diagram of key functional components of a Branch DataServer, in which the present invention can be implemented.

FIG. 3 is a block diagram of functional components of an Access Pointfirmware in which the present invention can be implemented.

FIG. 4 is a block diagram of functional components of a mobile personalcommunication device (Mobile Device) in which the present invention canbe implemented.

FIG. 5 is a sequence diagram that depicts an example where a user of amobile personal communication device (Mobile Device) makes a reservationfor a selected product via interactive messaging with a Branch DataServer.

DETAILED DESCRIPTION

By way of general introduction, and as will be elaborated below, apublicly-accessible Directory system allows an organization to publicizeinformation of interest to the public and to enable a person to accessan organization's product and service information with a mobile personalcommunication device.

System Overview

FIG. 1 depicts such a system 5, by way of example, that consists of anOrganization Data Server 10, a plurality of Branch Data Servers 20, aplurality of in-branch Access Points 30, and a plurality of MobileDevices 40 (mobile personal communication device). The Organization DataServer, Branch Data Servers, and in-branch Access Points are informationproviders, while Mobile Devices are information consumers of the systemof the invention.

Typically, a large organization—an established business entity, agovernment agency, or an institution—has many separate locations acrossa given territory. It has a headquarters, and a plurality of branches.For an established business entity, such as a retail corporation,branches include local retail stores, warehouse stores, or salesoutlets, all over the world. For a federal government agency, thebranches include offices in states, provinces, and cities across thenation. For a regional tourism agency, the branches include airports,seaports, train terminals and tourist information centers.

A centralized Organization Data Server 10 is set up to store informationof interest of the organization. For the same purpose, a Branch DataServer 20 is also set up at each of the organization's branches. BranchData Servers communicate with the Organization Data Server and otherBranch Data Servers via the Internet connection 50.

For a retail corporation, the information of interest might includebranch address, branch contact phone number, new arrivals, on-saleproducts and other promotions, product locations, and real-time productstock information. For a federal government agency, the information ofinterest might include branch address, branch contact phone number, anddirectory information regarding its customer services, availableprograms, appointment-booking tables, and real-time appointmentschedule. For a regional tourism agency, the information of interestmight include transportations, hotels, eating places, attractions, anddiscount tickets.

All information of interest can be placed into one of two categories:static data and dynamic data. On a given day, branch address and branchphone number, new product arrivals, and product locations would beexamples of static data. Real-time product in-stock information would bean example of dynamic data.

For reasons that would be readily apparent to those of ordinary skill inthe art, the Organization Data Server 10 only keeps each branch's staticdata; such as new arrivals, discounts, and product location information.The critical responsibility of the Organization Data Server is to queryBranch Data Servers 20 and to accept and respond to queries from theBranch Data Servers. A Branch Data Server maintains both static data andin-branch dynamic data (real-time in-branch product stock information).A Branch Data Server also knows, via queries of the Organization DataServer, real-time product stock information regarding other branches.This is accomplished by the Branch Data Server querying the OrganizationData Server which further dispatches queries to other Branch DataServers, returning the result to the original Branch Data Server.

A plurality of Access Points 30 is set up in each branch of theorganization to facilitate access to the organization's information ofinterest by the system users or consumers, i.e. the members of thepublic. In the case where a branch has multiple entrances, at least oneAccess Point will typically be installed at each entrance. Access Pointscommunicate with the in-branch Branch Data Server via a local areanetwork connection 60.

From time to time an Access Point 30 receives up-to-date branch-specificinformation regarding elements of interest from its Branch Data Server.Access Points have a means to allow the information that it receives tobe accessed by users. The static in-branch information is broadcast bythe Access Point and received by mobile devices through an over-the-airlink 70. The static branch-specific information can also be received bymobile devices via an Internet connection 80 directly from theOrganization Data Server 10.

In branches where it is not necessary to have a plurality of AccessPoints, the Access Point component and Branch Data Server applicationmay execute on the same physical server.

A mobile personal communication device (mobile device) 40 has acommunication means for receiving directory data, i.e. to receiveinformation of interest provided by the organization, either viaover-the-air link 70, or through an Internet connection 80. In otherwords, the communication means can be either a radiofrequencytransceiver for wirelessly downloading directory data or acommunications port for receiving directory data via cable, e.g. by USB.A Mobile Device 40 has a software component, named “Diral Client” 406,which is described below, to allow the user of the mobile device tobrowse static information, such as new arrivals, promotions, and productlocations in a retail store.

The software component Diral Client 406 of the mobile device 40 furtherallows the user to query dynamic product and service information, or tomake a reservation, via an interactive voice response or an interactivetext response, that is supported by the Branch Data Servers. Toaccomplish this task, the Mobile Device 40, upon the user selection ofsome element of interest, sends a message, using a wireless telephonyservice 90 to the Branch Data Server. The branch contact number isincluded in the branch data broadcast and received by the mobile device.The message includes information regarding the element of interest andan action type. The Branch Data Server, when receiving the message fromthe mobile device, searches its own database or other branch databasesby way of querying the Organization Data Server. The Branch Data Serverwill then initiate an interactive voice response call, or an interactivetext response process with the mobile device, and guide the user of themobile device to complete the dynamic information query task.

Method Overview

An organization, which can be an established business entity, agovernment agency, or an institution, has information regarding elementsof interest it wishes to share with the public. In turn, the publicwould like access this information. This invention proposes a methodthat allows an organization to publicize information regarding elementsof interest, and also facilitates public access to the publicized datain a simple and efficient manner.

An organization has a headquarters and a plurality of branches.Information regarding elements of interest is stored on theorganization's data servers. The organization has one centralOrganization Data Server 10 located in its headquarters, and one BranchData Server 20 at each of its branches. The organization's servers areinterconnected via the Internet and the organization's intranet. Datacan be transferred within the organization between each branch and theheadquarters via an Internet or intranet connection.

An organization has a unified set of elements of interest across all itsbranches. A branch, however, may have additional branch-specificelements of interest. We refer to the information of elements ofinterest, both the organization's unified set and the branch-specificset, as branch “Directory” information. Directory information can bestatic or dynamic. Static Directory information of a retail corporationwill include branch address, branch phone number, new arrivals,promotions, and product locations. Static information is relativelystable, it might not change in a day or in a week. Dynamic informationchanges over time, often by the minute. For example, the in-stock dataof a product at a retail corporation branch is dynamic, because thenumber of the product on shelf and/or in stock at a branch changes asproducts are purchased at a point of sales at the branch or reservedover the Internet at the company's website. For an organizationproviding a professional service, a hospital for instance, the waitingtime for a doctor making his/her appointment is dynamic.

Both static and dynamic branch Directory information are stored in theBranch Data Server. Static Directory information of a branch could alsobe stored in the organization's central Organization Data Server.Therefore, the central headquarters' data server has the staticDirectory information of each of its branches. The advantage of storingbranch's static Directory data in the Organization Data Server is thatthe Directory consumers, shoppers of a retail store, patients visitingdoctors, or taxpayers visiting government offices, can access anddownload the static Directory data of interest from the organization'swebsite before traveling to the branch, or without having to physicallytravel there.

A more common way to retrieve the branch Directory data, however, is toretrieve it at the branch's physical location. To enable this, aplurality of Access Points 30 is installed in each branch. The AccessPoints are connected to the respective Branch Data Server 20 by way of alocal area network connection. These Access Points receive the staticbranch Directory data from the Branch Data Server and transfer thestatic Directory data to members of the public via over-the-airbroadcasting and/or on-request downloading 70. Access Points aredeployed across the organization's branches. At least one Access Pointis preferably installed at each of the branch's entrances. Access Pointscan also be installed at other high-traffic choke points within abranch, for instance at a client service center.

The data distributed by an Access Point to the public includes alocation identifier, for example a GPS coordinate, of the Access Point,a version number of current version of data, and the static branchDirectory data that the Access Point received from the Branch DataServer.

In the case where Access Points distribute the static branch Directorydata by means of wireless broadcasting, both Wi-Fi and Bluetooth™technologies can be employed to enable this broadcasting. Bluetooth™broadcasting can be carried out at the branch's entrances, while Wi-Fibroadcasting could be used at the branch's central point. The coveragerange of the broadcasting should be limited to a relatively small area,so that the broadcasting from one organization's branch does notinterfere with the broadcasting of a neighboring organization.

Access Points also have a means for the static branch Directory data tobe downloaded to a mobile personal communication device (mobile device40) via a cable connection, such as a USB cable connection. To receivethe Directory data in this way, the user of the mobile device connectsthe mobile device with an Access Point using a cable and downloads theDirectory data from the Access Point to the mobile device.

A software application, Diral Client, is installed in the mobile device40 to interface with the Access Point. The Diral Client has three (3)major functions: (1) to receive static branch Directory data from AccessPoint broadcasts, from Internet download, or from direct Access Pointdownload; (2) to display the static branch Directory information to theuser of the mobile device; and (3) to communicate with the Branch DataServer for dynamic Directory information and respond to the Branch DataServer during an interactive voice response or an interactive textresponse. The detailed functionality of the mobile device will bedescribed in the following section.

A mobile device equipped with a Diral Client is said to be“Diral-enabled”. It follows that an organization that supports thefunctionalities of Branch Data Server and Access Point will be referredto as “Diral-enabled” organization.

Users equipped with a Diral-enabled Mobile Device are able to access andview branch Directory information. A Diral-enable mobile personalcommunication device user is also capable of establishing communicationwith the Branch Data Server to access the organization's dynamicDirectory data and to explore the organization's other service options.To use this feature, the user must register his/her Diral-enabled mobiledevice with the organization, and create an account to specify paymentoptions, credit card details, billing address, and other informationthat is required for account creation, i.e. setting up an account withthe organization to facilitate purchasing of goods or services using themobile personal communication device. This registration with theorganization can also be done at the organization's website over theInternet. Similarly, the status of transactions performed using theDiral-enabled mobile device can optionally be viewed by logging into theorganization website.

Users intending to explore only the static Directory information of anorganization need not register. Further, they can use mobile deviceswithout personal communication functionality. These users are able toaccess and view static branch Directory information of Diral-enabledorganizations as long as their mobile devices are Diral-enabled.

The registered user of a Diral-enabled mobile device visits a branch ofan organization and receives static branch Directory information from anAccess Point through methods described above. Upon browsing theDirectory information, the user decides to explore and pursue furtherlisted service options. For example, the user browses inventoryinformation and decides to reserve a particular product. This requiresestablishing dynamic communication with the Branch Data Server.

An example of such a need could be the following: the user browses theproduct list, selects a product, and finds the product location usingthe Diral Client user interface. The user approaches the location andfinds the shelf to be empty. The user can then choose to check theproduct stock information using the Diral Client. The Diral Clientqueries the Branch Data Server for in-store product stock informationand, if necessary, the product stock information of other branches. Thequery result is that the product is sold out in this branch, but thereare still available items in a nearby branch. The Diral Client asks theuser if he or she wants to make a reservation. The user answers yes. TheDiral Client then signals the Branch Data Server with the user'sselection. The Branch Data Server then initiates an interactivecommunication with the user, by way of interactive voice response orinteractive text response, to guide the user to confirm the reservationand to make arrangements for payment and pickup or delivery.

When the user of a Diral-enabled mobile device signals the request forcommunication, a message is sent by the mobile device to the Branch DataServer. This message could be sent through a telephone system. Thecontact phone number of the Branch Data Server is included in the staticbranch Directory data and received by the Diral Client on the mobiledevice. The content of the message includes the mobile device ID, themobile device's current location, the ID of the selected product, andthe service type (or query type) that the user selects. The service typemay include: query stock status only, or query stock and makereservation.

A mobile device's request for a communication will be served byinteractive messaging, either in Interactive Voice Response (IVR), or inInteractive Text Response (ITR). To efficiently serve differentrequests, the IVR and ITR are organized and managed in such a way thatthe IVR or ITR process can be started at an entry point that directlyrelates to the immediate need of the request regarding its selectedproduct and desired service.

The Branch Data Server initiates this dynamic communication process bycontacting the Diral Client using the identification number it hadpreviously received in the initiation request. When this mobile personalcommunication device is present in the branch, the communication betweenthe Branch Data Server and the mobile device are local calls.

The Branch Data Servers may maintain these dynamic communicationssessions in two different means, at the preference of the mobile deviceuser, as Interactive Voice Response (IVR) (220) or Interactive TextResponse (ITR) (224). If the user chooses to employ IVR, the Branch DataServer will initiate and maintain a telephone call session, a video callsession, or employ other voice communications means to the user of themobile device. If the user chooses to employ ITR, the Branch Data Serverwill initiate and maintain an interactive text messaging session to theuser of the mobile device.

Branch Data Server, Mobile Device and Interactive Communication

FIG. 2 is a block diagram of key functional components of a Branch DataServer, in which the present invention can be implemented.

The Branch Data Server 20, as illustrated in FIG. 2, includes a basiccomputer system 202, a Branch Database 204, and a software applicationcalled “Diral Agent” 206. The Diral Agent 206 is the liaison between theBranch Data Server and mobile devices. The Branch Data Server 20 alsohas a telephone subsystem 218, communication ports 220, an InteractiveVoice Response subsystem (IVR) 222, and an Interactive Text Responsesubsystem (ITR) 224.

The computer system 202 provides the hardware and software forsupporting a database application and other user applications. Thecomputer system has at least a Central Processing Unit (CPU), RandomAccess Memory (RAM), and a persistent storage. The computer systemshould also have an operating system (OS), software componentsimplementing different types of communication protocols, and othersoftware tools required to allow it to operate properly.

The Branch Database 204 stores and manages the Directory data, bothstatic and dynamic, related to a branch. For an established businessentity, the static data of a branch includes (but is not limited to) thebranch address, contact phone number, new arrivals, current on-saleproducts and other promotions, product prices, product images, andproduct locations; The dynamic branch Directory information includes(but is not limited to) real-time product stock information. The BranchDatabase communicates with the Directory management software component,the Diral Agent. It also interfaces directly with company's salesmanagement software, the Point of Sales (POS) software, to receiveupdates and maintain real-time product stock information.

From time to time, the Diral Agent 206 gets branch static Directory datafrom the Branch Database 204 and sends this data down to the AccessPoints of the branch. The data transaction can be accomplished in manydifferent ways. One way is that the Diral Agent sends a signal fortaking an update of the Directory information to the Diral Teller 304 ofan Access Point 30, and the Diral Teller of the Access Point thendownloads a new version of the static branch Directory data from theBranch Data Server. Another is that the said download happens when theDiral Teller needs to do so, for instance, when an Access Point gets areboot.

The Diral Agent 206 has a module Database Liaison 208, Teller Liaison210, a Client Liaison 212, an IVR Liaison 214, and an ITR Liaison 216.The Diral Agent's Teller Liaison 210 is the liaison between the DiralAgent 206 and the Diral Teller 304. It is responsible for informing theDiral Tellers of branch Access Points of availability of new updates ofthe static branch Directory data, and taking requests from Diral Tellersfor downloading the branch Directory data.

The Diral Agent's Client Liaison 212 interacts with Diral Clients 404 ofmobile devices 40. The Diral Agent receives signals directly from DiralClients 404 of mobile devices. When the user of a Diral-enabled mobiledevice selects a product, or a service, and then selects an action for aspecial request, the Diral Client will send a message to the branchDiral Agent requesting interactive messaging. This message will first bereceived by the digital telephone 218 and further received by the DiralAgent. (This process will be further detailed in following discussions.)The Diral Agent, when receiving a request from a Diral Client for aninteractive messaging, will initiate a conversation with the DiralClient, with interactions of the user of the Diral Client via eitherInteractive Voice Responding (IVR) 222 or Interactive Text Responding(ITR) 224.

The Diral Agent's IVR Liaison module 214 and ITR Liaison module 216interface with the branch's IVR 222 and ITR 224 respectively. The IVRsystem and ITR system, as well as mobile radio systems and the digitaltelephone system, are considered to be third-party sub-systems beingincorporated into the system of this invention. The Diral Agent'sresponsibility in this process is to trigger a signal, with propercontent, for a corresponding system, IVR or ITR, to start a conversationor dialogue with the Diral Client and its user.

FIG. 3 is a block diagram of functional components of an Access Point inwhich the present invention can be implemented.

The Access Point 30, as illustrated in FIG. 3, includes a computersystem 302, and the Diral Teller software application 304. The DiralTeller 304 interacts with the Branch Data Server and mobile devices. TheAccess Point 30 also has a radio transmitter component 312,communication ports 314, an output display 316, and an input keypad 318.

The computer system 302 provides basic infrastructure, and the softwareand hardware for supporting user applications. The computer system hasat least a Central Processing Unit (CPU), a Random Access Memory (RAM),and a storage device. The computer system should also have an operatingsystem (OS), software components implementing different types ofcommunication protocols, and other software tools required to make acomputer system operate properly.

The Diral Teller 304 receives the Directory data related to a branchfrom the branch Data Server. For an established business entity, thestatic data of a branch includes, but is not limited to, the branchaddress, contact phone number, new product arrivals, current on-saleproducts and other promotions, product prices, product images, andproduct locations. A version number and the Access Point location canalso be added to the data set.

From time to time, the Diral Agent 206 transmits the Directory data downto the Access Points within the branch. The data transaction can beaccomplished in many different ways. One way is that the Diral Agentsends a signal to the Diral Teller 304 of an Access Point 30, informingthe Diral Teller to take an update of the Directory data. The DiralTeller of the Access Point then downloads a new version of the staticbranch Directory data from the Branch Data Server. Another is that thedownload happens on an as-needed basis, for instance, when an AccessPoint is rebooted.

The Diral Teller 304 has a module Agent Liaison 306 that is responsiblefor interfacing with the branch Data Server for retrieving Directorydata. The Diral Teller 304 also has a module Client Liaison 308 thatdistributes Directory data to mobile devices 40, more specifically tothe Diral Clients 406 of mobile devices.

There are two (2) ways that a Diral Teller can distribute the Directorydata. The first is to send the data through broadcasting, the other isto take requests from mobile devices and allow mobile devices todownload Directory data via a cable connection. The Diral Tellersbroadcast the Directory data via radio transmitter 312. In the casewhere Diral Tellers are installed at entrances of branches, Directorydata is preferably broadcast using Bluetooth™. In the cases where DiralTellers are installed within the branches, Directory data could bebroadcast using Wi-Fi. As will be appreciated, other short-rangewireless technologies could be substituted in lieu of Broadtooth orWi-Fi.

A Diral Teller broadcasts Directory data periodically, at apredetermined, configurable time period. Directory data is broadcast ina well-defined format, which makes the broadcasting very efficient. Inthis way, one round of data broadcasting takes about a dozen seconds.For a branch which has 10,000 elements in its Directory, and for whicheach element has associated data having a maximum length of 100characters (bytes), the total length of the Directory data is less than1 mega byte. Bluetooth™ can transfer data at a rate of 1 megabit persecond, so it would take 8 seconds to complete one round of broadcastingof 1 mega byte of Directory data in a plain text format. Wi-Fi performseven better than Bluetooth in terms of data rate. The foregoing ismerely an example of a typical Directory size and should not beconstrued as limiting the size of the Directory or the size of the dataassociated with each element in the Directory.

The Diral Teller's Client Liaison 306 could interact directly with DiralClients 404 of mobile devices 40 using COMM ports 314. One of those COMMports could be a USB port. For mobile devices that are not equipped withBluetooth™ or Wi-Fi, but do have a USB port, Directory data can bedownloaded from an Access Point via the USB connection. The user of theMobile Device connects the device to an Access Point using a USB cable,then presses a button on the input keypad 318 (or other user inputdevice) of the Access Point to start downloading. The output display 316of the Access Point can preferably show the downloading status andpreferably display a message when the download is complete.

FIG. 4 is a block diagram of functional components of a mobile device(mobile personal communication device) in which the present inventioncan be implemented.

The mobile device 40, as illustrated in FIG. 4, includes a computersystem 402 (i.e. a processor coupled to memory) for supporting apersonal communication software application 404. The mobile device 40also has one or more radiofrequency transceivers (i.e. mobile radios)414 for cellular and short-range wireless communications, one or morecommunication ports 416 for cable or USB connections, an output display418 (e.g. an LCD screen or graphical user interface), and one or moreuser input devices (e.g. keypad 420, thumbwheel, trackball, etc)

The computer system 402 provides basic means, software and hardware forsupporting user applications. The computer system has at least a CentralProcessing Unit (CPU), a Random Access Memory (RAM), and a storagedevice. The computer system should also have an operating system (OS),software components implementing different types of communicationprotocols, and other software tools required to make a computer systemoperate properly.

The personal communication software application 404 has basic modules tomanage regular personal communication functionalities, such as makingand receiving calls or text messages, and editing and browsing phonebooks. The personal communication software application 404 also has aDiral Client component 406 for accessing Directory information. TheDiral Client 406 has three (3) modules: Teller Liaison 408, AgentLiaison 410, and User Liaison 412.

The Teller Liaison 408 is responsible for receiving an organization'sDirectory data. There are two (2) different ways that a Diral Client canreceive the Directory data. One is to receive the data from a DiralTeller's broadcasting. The Diral Client receives the data broadcast viamobile radios 414 using Bluetooth™ or Wi-Fi. The other is for a DiralClient to request directly from a Diral Teller, and download theDirectory data via a cable connection.

Diral Tellers broadcast Directory data periodically. One round ofbroadcasting can be completed in about a dozen seconds. For a branchwhich has 10,000 elements in its Directory, it will take about 8 secondsfor a Diral Teller to complete one round of broadcasting via theBluetooth™ link. This means that, in a worst case, a Diral client isable to receive a complete set of Directory data in about 16 seconds.

For mobile devices that are not equipped with Bluetooth™ or Wi-Fi, butdo have a USB communication port, Directory data can be downloaded froman Access Point 30 to the mobile device via USB. The user of the mobiledevice connects the device to an Access Point 30 using a USB cable, thenpresses a button on the input keypad 318 of the Access Point 30 to begindownloading. The output display 316 of the Access Point 30 preferablyshows the download status and preferably displays a message when thedownload is complete.

The Diral-enabled mobile device can provide an option to turn the Diralservice on or off. The Diral Client of a mobile device always runs inthe background as long as the mobile device is powered up, whether ornot the Diral service is turned on or off. If the Diral service isturned off for a given mobile device, the Diral Client of this mobiledevice will not save Directory data even though it detects a DiralTeller's broadcast. If the Diral service is turned on for a given mobiledevice, the Diral Client will automatically save and keep Directoryinformation when the Diral Client detects a broadcast from a DiralTeller. When the Diral Client receives the complete Directory of anorganization, the Diral Client preferably emits an audible alert to theuser together with a text or other graphical display on the outputdisplay area 418 of the mobile device. Alternatively, the Diral Clientcan alert the user using only an audible alert or using only a text orgraphical display on the output display. Alternatively, the Diral Clientcan display a special icon or symbol, cause a LED or other light toblink, cause the device to vibrate or cause the device to perform anyother output that would alert the user. In yet another alternative, theDiral Client can be configured by the user not to alert the user in anyway. Once the user has been alerted, however, the user of the mobiledevice can then launch the Diral Client's User Liaison 412 userinterface (UI) to browse the Directory.

The Directory that Diral Clients receive from Diral Tellers includesonly static data. In cases where the user requests dynamic Directoryinformation, such as the real-time in-stock information for a product,the user triggers a process that lets the Agent Liaison 410 of the DiralClient 40 communicate with the Diral Agent 206 of the Branch Data Server20. The Branch Data Server maintains the real-time product stockinformation for the branch. The Branch Data Server is also able to queryother branch Data Servers for their real-time product stock data.

When the user of a Diral-enabled Mobile Device selects a product or aservice, and then selects an action for a special request, the DiralClient sends a signal to the Diral Agent 206 of the Branch Data Serverrequesting interactive messaging. The Diral Agent, when receiving arequest from a Diral Client for interactive messaging, will initiate aconversation with the Diral Client, with the user's interaction, viaeither Interactive Voice Responding (IVR) or Interactive Text Responding(ITR).

ITR has at least one advantage over IVR. When a user is involved in anIVR over a mobile personal communication device, the user has to movethe device to near his/her ear, listen to available choices, then movethe device to the front and press a key on the keypad of the device. Theuser will have to repeat this process if there are multiple rounds ofselection in one IVR course. With ITR, the user could always keep thedevice in the front, watch available choices and make his/her choice.

In the following, we present one way to implement the ITR where weimplement ITR as an enhanced text messaging.

Text messaging service sends a short text message to a mobile personalcommunication device. When the device receives a text message, thedevice emits an audible alarm and/or displays on the display area anote, symbol or icon indicating arrival of a new text message. The usercan then read the message and send a reply if desired. Another type ofexisting text messaging is text voting. In this type, multiple choicesof replies are provided when a text message is displayed. The usersimply presses a key representing his/her reply and sends the reply backto the original sender.

ITR can be implemented as multiple rounds of text voting, with one mainimprovement: the multiple rounds of text voting should be handled as onesession, rather than as multiple sessions. A new type, ITR, of textvoting needs to be defined. When starting an ITR communication, theinitiator sets the message type to be the ITR, generates a session IDand attaches the session ID to the text message. This session ID will beused by both text voting initiator and voter in the multiple rounds. Inthe context of the present invention, the text voting initiator is theBranch Data Server and the voter is the user of the mobile personalcommunication device.

FIG. 5 is a sequence diagram that depicts an example where a user of aDiral-enabled mobile device makes a reservation for a selected productvia interactive messaging with a Branch Data Server.

The user needs to register the Diral-enabled mobile device with aDiral-enabled organization. The registration data includes the MobileDevice ID, credit card information and a password for security.

The Diral Agent notifies Diral Tellers within the branch of thereadiness of the branch Directory. Upon receiving the readiness message,a Diral Teller downloads the Directory from the Branch Data Server. TheDiral Teller then broadcasts the Directory data periodically.

When the user of a Diral-enabled mobile device approaches a DiralTeller, the Diral Client of the mobile device detects the Diral Teller'sbroadcast. The Diral Client receives and saves the Directory. When thewhole Directory is received, the Diral Client displays a message andemits preferably an audible alert to inform “Diral is ready for use”.

The user launches the Diral user interface and browses the branchDirectory information. The user may look at product promotion, and checkits price and location. In some circumstances, the user may want to makea reservation. In this case, the user presses a button on the mobiledevice to express the desire to make a reservation.

The Diral Client, upon getting the user's request, sends a message tothe Diral Agent using the contact phone number provided in the staticDirectory. The message includes the ID of the product that is selectedand the ID of the mobile device.

When the Diral Agent receives this message, it decodes the message,finds the product ID, retrieves the product stock information from thebranch database, and sends this information back to the Diral Client onthe mobile device.

The Diral Agent, if necessary, may also communicate with other DiralAgents located in other branches to query product in-stock informationat these branches.

After receiving the reply message from the Diral Agent, the Diral Clientdisplays the product stock information to the user and provides optionsfor the user to enter a password to proceed with a reservation, or tostop the ongoing interactive messaging session.

The user enters a password and presses a button to select the option tocontinue. The Diral Client receives the password and then forwards thepassword to and queries the Diral Agent for available payment methodssaved in the database. The Diral Agent carries out security check,retrieves the user's payment methods from the organization database andreturns the payment methods to the Diral Client on the mobile device.The Diral Client then displays the payment methods to the user.

The user presses a key (or manipulates a trackball or thumbwheel) on thedevice to select a payment method. The Diral Client receives theselection and then asks the user for confirmation of the purchase. Theuser confirms. The Diral Client then sends a reservation message to theDiral Agent. The Diral Agent updates the database and completes theinteractive purchasing process.

It is obvious for those skilled in the art that as the technologydevelops the basic idea of the invention can be implemented in variousways. The invention and the embodiments thereof are thus not restrictedto the examples described above, but they may vary within the scope ofthe claims.

1. A method of transmitting directory information from organization andbranch data servers of an organization to a mobile personalcommunication device, the method comprising steps of: storinginformation about elements of interest for the organization in theorganization data server; storing at least some of the elements ofinterest and branch-specific directory information of the organizationin branch data servers located in local branches of the organization,the branch data servers being connected to the organization data serverof the organization via a communication network; and providing, in eachlocal branch, at least one access point for receiving branch directorydata from the corresponding branch data server and for transmitting thedirectory data of the local branch to a mobile personal communicationdevice configured to display, on a display of the mobile personalcommunication device, the directory information of the local branch. 2.The method as claimed in claim 1 wherein at least one of the accesspoints at one of the local branches resides in the branch data server.3. The method as claimed in claim 1 wherein the directory data istransmitted to the mobile personal communication device through a cable.4. The method as claimed in claim 1 wherein the directory data istransmitted to the mobile personal communication device via a wirelesslink.
 5. A method, performed by a mobile personal communication device,for enabling the mobile personal communication device to accessdirectory information of an organization, the method comprising stepsof: receiving directory data from an access point in a local branch ofthe organization at the mobile personal communication device, the accesspoint receiving branch directory data from a branch data servercommunicatively connected to an organization data server of theorganization; and displaying directory information on a display of themobile personal communication device based on the directory datareceived from the access point.
 6. The method as claimed in claim 5further comprising steps of: registering the mobile personalcommunication device with the organization; and enabling a user of themobile personal communication device to select a directory item andpress an action button to request an interactive communication with thebranch data server for causing the mobile personal communication deviceto send a user request to the branch data server that thus initiates aninteractive communication session with the mobile personal communicationdevice.
 7. The method as claimed in claim 5 wherein the directory datais transmitted to a mobile personal communication device through acable.
 8. The method as claimed in claim 5 wherein the directory data istransmitted via a wireless link.
 9. The method as claimed in claim 6wherein the step of registering comprises a step of providing a uniqueID associated with the mobile personal communication device to therebyset up an account with the organization, wherein the user furtherspecifies payment options and other billing information.
 10. The methodas claimed in claim 6 wherein the request sent by the mobile personalcommunication device comprises the ID and location of the mobilepersonal communication device.
 11. The method as claimed in claim 6wherein the interactive communication session is performed viainteractive voice response (IVR) or interactive text response (ITR). 12.A system for providing members of the public with directory informationof an organization, for enabling a mobile personal communication deviceto access dynamic directory data of the organization and tointeractively communicate with the organization, the system comprising:an organization data server for storing directory information of theorganization; a plurality of branch data servers connected to theorganization data server for storing branch directory data, and forinteractively communicating with a mobile personal communication device;a plurality of access points for receiving branch directory data fromthe branch data server, and for transmitting the directory data; aplurality of mobile personal communication devices for receiving thedirectory information of a local branch from an access point, displayingthe directory information, and interactively communicating with thebranch data server.
 13. The system as claimed in claim 12 wherein theaccess point resides in the branch data server.
 14. The system asclaimed in claim 12 wherein the directory data is transmitted to amobile personal communication device through a cable.
 15. The system asclaimed in claim 12 wherein the directory data is transmitted via awireless link.
 16. The system as claimed in claim 12 wherein the mobilepersonal communication device sends a request for an interactivecommunication.
 17. The system as claimed in claim 16 wherein theinteractive communication is achieved via interactive voice response(IVR) or interactive text response (ITR).
 18. A mobile device comprisinga software component for accessing directory information stored on anorganization data server or a branch data server of an organization, thedevice comprising: a processor coupled to memory for supporting softwareapplications; a communication means for receiving directory data from anaccess point disposed in a branch of the organization; and a directoryaccess software application that receives the directory data anddisplays directory information based on the directory data received fromthe access point.
 19. The device as claimed in claim 18 wherein thecommunication means comprises a radiofrequency transceiver forwirelessly receiving the directory data.
 20. The device as claimed inclaim 18 wherein the communication means comprises a communication portfor receiving directory data via cable.
 21. The device as claimed inclaim 18 further comprising a user input device for initiating aninteractive communication via interactive voice response (IVR) orinteractive text response (ITR).
 22. A computer program productcomprising code which, when loaded into memory and executed on aprocessor of a mobile personal communication device, is adapted toperform the steps of: obtaining directory data from an access point thatis communicatively connected to a branch data server located in a branchof an organization, the branch data server being communicativelyconnected to an organization data server of the organization; anddisplaying, on a display of the device, directory information based onat least some of the directory data received from the access point. 23.The computer program product as claimed in claim 22 wherein the code isfurther adapted to cause the device to wirelessly receive the data fromthe access point.
 24. The computer program product as claimed in claim22 wherein the code is further adapted to cause the device to receivethe data over a cable connection from the access point.
 25. The computerprogram product as claimed in claim 22 wherein the code is furtheradapted to enable the device to send a request for an interactivecommunication session via interactive text response (ITR) or interactivevoice response (IVR).